home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / m / maxonc++2.dms / maxonc++2.adf / MCPIncl.lha / tools / str.h
C/C++ Source or Header  |  1992-02-21  |  1KB  |  51 lines

  1. #ifndef INCLUDE_TOOLS_STR_H
  2. #define INCLUDE_TOOLS_STR_H
  3. // Maxon C++:
  4. // String-Bibliothek
  5. // Jens Gelhar 14.12.91
  6. #ifndef __cplusplus
  7. #error "<tools/str.h> needs C++-Mode."
  8. #pragma +
  9. #endif
  10.  
  11. class String
  12. {  char *str;
  13.    int len;
  14.    void free();
  15.    void alloc (const char*);
  16.  public:
  17.    String (const char* = 0);
  18.    String (int, char*);
  19.    String (const String &);
  20.    String (char);
  21.    ~String();
  22.    operator char*() const
  23.     { if (str) return str;
  24.       else return "";
  25.     }
  26.    String &operator = (const String &);
  27.    String &operator = (const char *);
  28.    String &operator += (const String &);
  29.    char operator[] (int i) const;
  30.    int length() const
  31.      { return len; }
  32.    String left(int) const;
  33.    String right(int) const;
  34.    String mid(int,int) const;
  35. };
  36.  
  37. String operator + (String s1, String s2);
  38.  
  39. int operator == (const String &s1, const String &s2);
  40. int operator != (const String &s1, const String &s2);
  41. int operator < (const String &s1, const String &s2);
  42. int operator > (const String &s1, const String &s2);
  43. int operator <= (const String &s1, const String &s2);
  44. int operator >= (const String &s1, const String &s2);
  45.  
  46. class ostream& operator << (ostream&, const String&);
  47.  
  48. class istream& operator >> (istream&, String&);
  49.  
  50. #endif
  51.